Facade
Writing an OS shell in Java
Contents
- You want to do what?!?
- Getting started
- The desktop
- A pseudo-base class
- Joy and grief
- Timing is everything (or sometimes nothing)
- Conclusions / Lessons Learned
Welcome, MacHackers!
This presentation is intended for participants in the MacHack 98 conference. Java experience is not required. We'll look at a few of the code frags and issues I encountered while writing Facade, a Finder knockoff written in Java.
What it look like
- GUI
- Desktop: just a big, empty Window.
- Menubar and menus: Strings and Rectangles, plus an Image for the Apple menu.
- Icons: images "borrowed" from a System file. Also have associated Strings for labels, paths, etc.
- Folders: In this first iteration, custom Windows containing icons for files and folders.
Most of the classes involved inherit from java.awt.Component, which usually gives the desired result. We'll see that the folder windows inherit from java.awt.Window, which is convenient, but a painting nightmare!
- Functionality
- Menu and menu item selection
- Display volume/folder contents
- Dragging icons
- Opening and closing windows
- Taking out the trash
- Saving and restoring the desktop state
That's all I could squeeze in for now. Stay tuned for updates.
About the author
Andrew S. Downs is a Senior Software Engineer for Template Software in New Orleans, LA. He is also a member of the part-time faculty at Tulane University College, where he teaches C and Java programming courses. As funds and family permit, he continues work on a doctorate in Computer Science in the Tulane School of Engineering.
You may visit the author's home page for more information, or send email.